package com.bestcem.xm.ticket.enums;

import lombok.Getter;
import lombok.ToString;

import javax.annotation.Nullable;

/**
 * 通知类型
 *
 * @author gyliu
 * @version v1.0
 * @date 2021/8/24 10:43
 */
@Getter
@ToString
public enum NotificationTypeEnum {
    /**
     * 第一份成功完成答卷
     */
    FIRST_RSPD(0, "第一份成功完成答卷"),
    /**
     * 每次收到成功完成的答卷
     */
    EVERY_RSPD(1, "每次收到成功完成的答卷"),
    /**
     * 成功完成答卷数达**份
     */
    REACH_RSPD(2, "成功完成答卷数达**份"),
    /**
     * 指定范围内成功完成答卷数达**份
     */
    FREQ_RSPD(3, "指定范围内成功完成答卷数达**份"),
    /**
     * 指定范围内成功完成答卷数环比增长**
     */
    RATIO_RSPD(4, "指定范围内成功完成答卷数环比增长**"),
    /**
     * 配额满提醒
     */
    QUOTE_FULL(5, "配额满提醒"),
    /**
     * 微信红包全部发完
     */
    BONUS_AWARD(6, "微信红包全部发完"),
    /**
     * 抽奖奖励全部发完
     */
    DRAW_AWARD(7, "抽奖奖励全部发完");

    private final String name;
    private final Integer index;

    NotificationTypeEnum(Integer index, String name) {
        this.name = name;
        this.index = index;
    }

    @Nullable
    public static NotificationTypeEnum getByIndex(Integer index) {
        for (NotificationTypeEnum value : values()) {
            if (value.getIndex().equals(index)) {
                return value;
            }
        }
        return null;
    }
}
